#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>


int main(int argc, char const *argv[])
{
    if( argc != 2)
    {
        printf("Pls input: ./a.out <dst file name>\n");
        return -1;
    }

    int fdFileSrc = open(argv[1], O_RDONLY);
    if ( -1 == fdFileSrc )
    {
        perror("Fail to open");
        return -1;
    }
    printf("file descriptor of <%s> is %d \n", argv[1], fdFileSrc);

    char cBuffer[1024]={0};
    ssize_t stLen;
    while( 0 != ( stLen = read(fdFileSrc, cBuffer, sizeof(cBuffer) )) )
    {
        printf("%s", cBuffer);
        memset(cBuffer, 0, sizeof(cBuffer));
    }
    if( -1 == stLen)
    {
        perror("fail read");
        return -1;
    }

    close(fdFileSrc);

        
    return 0;
}


/********************************************

系统调用函数 open read close
shell传参给main函数
判断每一个会设置 errno 的函数返回值

********************************************/